﻿using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using NhanAi.Entity;
using NhanAi.DAO;
using System.Web.Security;
namespace NhanAi.Public
{
    public partial class Login : NhanAi.Admin.BasePage
    {

        public string Message
        {
            get
            {
                if (Session["message_count_get"] != null)
                {
                    int c = Home.Utils.TypeWrapper.GetInt32(Session["message_count_get"].ToString());
                    c--;
                    Session["message_count_get"] = c;
                    if (c < 0) Session["message"] = null;
                }
                else
                {
                    Session["message_count_get"] = 0;
                }
                return Session["message"] != null ? Session["message"].ToString() : null;
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request["signout"] == "yes")
            {
                SignOut();

                if (HttpContext.Current.User.Identity.Name != null)
                {
                    Context.Cache.Remove(HttpContext.Current.User.Identity.Name);
                }
                FormsAuthentication.SignOut();
                Context.User = null;
                Session.Clear();
            }
        }
        public void btnLoginClicked(object sender, EventArgs e)
        {
            UserDao dao = new UserDao();
            string uname = txtUserLogin.Text;
            string pwd = txtPassword.Text;
            bool remember = chkRemember.Checked;
            User u = dao.Read(uname);
            if (uname == "" || pwd == "") SetMessage("Tên hoặc mật khẩu không hợp lệ","");
            if (u == null) SetMessage( "Tài khoản không tồn tại","");
            else if (Home.Utils.CypherTextUtil.MD5Encrypt( pwd) == u.UserPassword)
            {
                string[] role;
                if (u.UserRole == 1) role = new string[] { "user" };
                else if (u.UserRole == 3) role = new string[] { "editor" };
                else if (u.UserRole == 7) role = new string[] { "admin" };
                else role = new string[0];          
               
                SetCurrentUser(u);
              
                FormsAuthentication.RedirectFromLoginPage(uname+"_"+role[0], true);            
               
            }
            else
            {
                SetMessage( "Tên hoặc mật khẩu không đúng. Vui lòng thử lại.","");
            }
        }
    }
}